package actions;

import java.io.BufferedReader;
import java.io.PrintWriter;
import java.util.Map;

import server.ColaCircular;
import server.Usuario;


public abstract class Action {

	private String[] arguments;
	
	private BufferedReader in;
	private PrintWriter out;
	
	private ColaCircular colaMsjs;
	
	private Map<String, Usuario> usuarios;
	
	public Action(String[] _arguments, BufferedReader _in, PrintWriter _out, Map<String, Usuario> _usuarios, ColaCircular _colaMensajes){
		arguments=_arguments;
		in=_in;
		out=_out;
		setColaMsjs(_colaMensajes);
		setUsuarios(_usuarios);
	}
	
	public String[] getArguments() {
		return arguments;
	}

	public BufferedReader getIn() {
		return in;
	}

	public PrintWriter getOut() {
		return out;
	}

	public void setColaMsjs(ColaCircular colaMsjs) {
		this.colaMsjs = colaMsjs;
	}

	public ColaCircular getColaMsjs() {
		return colaMsjs;
	}
	
	public abstract String parseArguments();
	
	public abstract void doAction();

	public void setUsuarios(Map<String, Usuario> usuarios) {
		this.usuarios = usuarios;
	}

	public Map<String, Usuario> getUsuarios() {
		return usuarios;
	}


	
	

}
